Skip to content

Conversation

llvmbot
Copy link
Member

@llvmbot llvmbot commented Apr 11, 2024

Backport 3c4b673

Requested by: @ian-twilightcoder

As reported in llvm#86843, we must have #pragma GCC system_header before we
use #include_next, otherwise the compiler may not understand that we're
in a system header and may issue a diagnostic for our usage of

(cherry picked from commit 3c4b673)
@llvmbot llvmbot requested a review from a team as a code owner April 11, 2024 18:01
@llvmbot llvmbot added this to the LLVM 18.X Release milestone Apr 11, 2024
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Apr 11, 2024
@llvmbot
Copy link
Member Author

llvmbot commented Apr 11, 2024

@llvm/pr-subscribers-libcxx

Author: None (llvmbot)

Changes

Backport 3c4b673

Requested by: @ian-twilightcoder


Full diff: https://github.com/llvm/llvm-project/pull/88421.diff

1 Files Affected:

  • (modified) libcxx/include/stddef.h (+4-4)
diff --git a/libcxx/include/stddef.h b/libcxx/include/stddef.h
index 470b5408336c6d..1583e78e3739ba 100644
--- a/libcxx/include/stddef.h
+++ b/libcxx/include/stddef.h
@@ -26,6 +26,10 @@
 
 #include <__config>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+#  pragma GCC system_header
+#endif
+
 // Note: This include is outside of header guards because we sometimes get included multiple times
 //       with different defines and the underlying <stddef.h> will know how to deal with that.
 #include_next <stddef.h>
@@ -33,10 +37,6 @@
 #ifndef _LIBCPP_STDDEF_H
 #  define _LIBCPP_STDDEF_H
 
-#  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#    pragma GCC system_header
-#  endif
-
 #  ifdef __cplusplus
 typedef decltype(nullptr) nullptr_t;
 #  endif

@ian-twilightcoder
Copy link
Contributor

Already covered by #88419

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Projects
Development

Successfully merging this pull request may close these issues.

3 participants